package com.qjdchina.sku.dao.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.qjdchina.commons.model.PageModel;
import com.qjdchina.sku.model.Brand;
import com.qjdchina.sku.model.vo.BrandVO;

public interface BrandMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(Brand record);

    int insertSelective(Brand record);

    Brand selectByPrimaryKey(Integer id);

    List<Brand> selectByIds(@Param("ids") List<Integer> ids);

    int updateByPrimaryKeySelective(Brand record);

    int updateByPrimaryKey(Brand record);
    /**
     * 根据品类获取品牌
     * shenpingfeng
     * 2016年11月22日
     * @param categoryId
     * @return
     */    
    List<BrandVO> selectByCategoryId(@Param("skuCategoryId") Integer categoryId,@Param("skuRoleIds") List<Integer> skuRoleIds);
    
    /**
     * 获取所有品牌
     * shenpingfeng
     * 2017年1月10日
     * @return
     */
    List<Brand> selectAllBrand();
    
    /**
     * 根据名称获取品牌
     * shenpingfeng
     * 2017年1月10日
     * @param label
     * @return
     */
    Brand selectByLabel(String label);  
    
    /**
     * 根据skuCompanyId获取品牌
     * shenpingfeng
     * 2017年1月13日
     * @param skuCompanyId
     * @return
     */
    List<Brand> selectBrandBySkuCompanyId(Integer skuCompanyId);
    /**
     * 根据条件查询品牌总数
     * shenpingfeng
     * 2017年2月13日
     * @param params
     * @return
     */
	@SuppressWarnings("rawtypes")
	int getPagedBrandTotal(@Param("params") Map params);
	
	/**
	 * 根据条件分页查询
	 * shenpingfeng
	 * 2017年2月13日
	 * @param params
	 * @param page
	 * @return
	 */
	@SuppressWarnings("rawtypes")
	public List<Brand> queryPagedBrandList(@Param("params") Map params,@Param("page") PageModel<?> page);
	
	
	public BrandVO selectByCategoryIdAndBrandId(@Param("skuCategoryId") Integer categoryId,@Param("skuBrandId") Integer brandId);
}